// 对Axios进行二次封装，添加请求/响应拦截器，方便统一处理请求

import axios from 'axios'
// 引入进度条
import nprogress from 'nprogress'
// 引入进度条样式
import 'nprogress/nprogress.css'

// 创建axios实例
const requests = axios.create({
    // 基础路径
    baseURL: '/wmxz/api',
    // 请求超时时间
    timeout: 5000
})

// 请求拦截器
requests.interceptors.request.use(config => {
    // 在发送请求之前做些什么
    // config.headers.Authorization = window.sessionStorage.getItem('token')
    // 开启进度条
    nprogress.start()
    return config
})

// 响应拦截器
requests.interceptors.response.use((res)=>{
    // 成功的回调
    // 关闭进度条
    nprogress.done()
    return res.data
},(error)=>{
    // 失败的回调
    return Promise.reject(new Error('faile'))
})


// 对外暴露
export default requests